import React from 'react';
import { Route } from 'react-router-dom';
import { getToken } from 'utils/storage';

export function AuthRoute(props) {
  const { path, component: Comp } = props;
  return (
    <Route
      path={path}
      render={(props) => {
        // console.log(props);
        // 双感叹号!!为强制转换成布尔值
        if (!!getToken()) {
          // render绑定的组件，默认props.history会丢失，所以需要绑定回去
          // 💥不传props过去,在Layout页面使用props跳转,会导致报错
          return <Comp {...props} />;
        }
        props.history.push('/login');
      }}
    ></Route>
  );
}
